package com.ruoyi.product.domain;

import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

import java.util.List;

/**
 * 产品属性对象 product_attribute
 * 
 * @author ruoyi
 * @date 2025-10-13
 */
public class ProductAttribute extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 属性唯一标识 */
    private Long id;

    /** 所属分类ID（关联category表） */
    @Excel(name = "所属分类ID", readConverterExp = "关=联category表")
    private Long categoryId;

    /** 分类层级（1：一级；2：二级；3：三级） */
    @Excel(name = "分类层级", readConverterExp = "1=：一级；2：二级；3：三级")
    private Long catetoryLevel;

    /** 属性名称（如“尺寸”“分辨率”） */
    @Excel(name = "属性名称", readConverterExp = "如=“尺寸”“分辨率”")
    private String attrName;

    /** 同一三级分类内排序序号 */
    @Excel(name = "同一三级分类内排序序号")
    private Long sort;

    /** 账号状态（0正常 1停用） */
    @Excel(name = "账号状态", readConverterExp = "0=正常,1=停用")
    private String status;

    /** 删除标志（0代表存在 2代表删除） */
    private String delFlag;

    private List<ProductAttributeValue> attrValueList;

    public List<ProductAttributeValue> getAttrValueList() {
        return attrValueList;
    }

    public void setAttrValueList(List<ProductAttributeValue> attrValueList) {
        this.attrValueList = attrValueList;
    }

    public void setId(Long id) 
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }

    public void setCategoryId(Long categoryId) 
    {
        this.categoryId = categoryId;
    }

    public Long getCategoryId() 
    {
        return categoryId;
    }

    public void setCatetoryLevel(Long catetoryLevel) 
    {
        this.catetoryLevel = catetoryLevel;
    }

    public Long getCatetoryLevel() 
    {
        return catetoryLevel;
    }

    public void setAttrName(String attrName) 
    {
        this.attrName = attrName;
    }

    public String getAttrName() 
    {
        return attrName;
    }

    public void setSort(Long sort) 
    {
        this.sort = sort;
    }

    public Long getSort() 
    {
        return sort;
    }

    public void setStatus(String status) 
    {
        this.status = status;
    }

    public String getStatus() 
    {
        return status;
    }

    public void setDelFlag(String delFlag) 
    {
        this.delFlag = delFlag;
    }

    public String getDelFlag() 
    {
        return delFlag;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("categoryId", getCategoryId())
            .append("catetoryLevel", getCatetoryLevel())
            .append("attrName", getAttrName())
            .append("sort", getSort())
            .append("status", getStatus())
            .append("delFlag", getDelFlag())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .append("remark", getRemark())
            .toString();
    }
}
